package com.jzo2o.customer.model.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * 银行账户实体类
 * 对应数据表：bank_account
 */
@Data
@EqualsAndHashCode(callSuper = false)// 忽略父类的equals和hashCode方法
@Accessors(chain = true)// 链式调用setter方法
@TableName("bank_account") // 指定对应的数据表名
public class BankAccount {

    /**
     * 服务人员/机构id
     * 数据表字段：id
     */
    private Long id;

    /**
     * 类型，2：服务人员，3：服务机构
     * 数据表字段：type
     */
    private Integer type;

    /**
     * 户名
     * 数据表字段：name
     */
    private String name;

    /**
     * 银行名称
     * 数据表字段：bank_name
     */
    private String bankName;

    /**
     * 省
     * 数据表字段：province
     */
    private String province;

    /**
     * 市
     * 数据表字段：city
     */
    private String city;

    /**
     * 区
     * 数据表字段：district
     */
    private String district;

    /**
     * 网点
     * 数据表字段：branch
     */
    private String branch;

    /**
     * 银行账号
     * 数据表字段：account
     */
    private String account;

    /**
     * 开户证明
     * 数据表字段：account_certification
     */
    private String accountCertification;

    /**
     * 创建时间
     * 数据表字段：create_time
     * 自动填充：插入时生成
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     * 数据表字段：update_time
     * 自动填充：插入和更新时生成
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}